package demo2;

/**
 * 具体实现：极坐标系
 */
public class PolarSystem implements CoordinateSystem {
    @Override
    public void draw(String shapeName, double... params) {
        // 校验参数数量（矩形/椭圆均需4个参数：r1,θ1,r2,θ2）
        if (params.length != 4) {
            throw new IllegalArgumentException("极坐标系需4个参数：r1,θ1,r2,θ2");
        }
        double r1 = params[0], theta1 = params[1], r2 = params[2], theta2 = params[3];

        // 极坐标系下图形规则：r1/r2为内外半径，theta1/theta2为起始/结束角度（单位：度）
        String polarInfo = String.format("内半径%.1f，起始角度%.1f°，外半径%.1f，结束角度%.1f°",
                r1, theta1, r2, theta2);

        // 输出绘制信息（模拟绘制）
        System.out.printf("【极坐标系】绘制%s：%s%n", shapeName, polarInfo);
    }
}
